package com.supplychain.financial.parent.api;

import com.supplychain.financial.parent.entity.DTO.CgtCustDTO;
import com.supplychain.financial.parent.entity.DTO.DCust2MemberDTO;
import com.supplychain.financial.parent.entity.DTO.PageDTO;
import com.supplychain.financial.parent.common.exception.CustomException;

import java.util.List;
import java.util.Map;

/**
 * 烟草客户信息业务逻辑
 * @author zhengchuan
 *
 */
public interface CgtCustService {  
	/**
	 * 查询分页的烟草客户信息
	 * @param sortedKey
	 * @param sortedValue
	 * @param filters
	 * @param params
     * @return
	 */
	PageDTO<CgtCustDTO> findCgtCustByPage(Integer page, Integer pageSize, String sortedKey, String sortedValue, String filters, Map<String, String> params) throws CustomException;

	List<Map<String,Object>> cgtCustInfoExportExcel(String filters, Map<String, String> params) throws Exception;

	/**
	 * 烟草客户子表
	 * @param parentId
	 * @return
	 * @throws CustomException
	 */
	PageDTO<DCust2MemberDTO> findSubCgtCustByParentId(String parentId) throws CustomException;
	/**
	 * 更改子表用户的授权
	 * @param id
	 * @param flag
	 * @throws CustomException
	 */
	void accreditCgtCust(String id, String flag) throws CustomException;
	/**
	 * 发送小云消息
	 * @param phone
	 * @param content
	 */
	void sendCloudingMessage(String phone, String content) throws CustomException;

	/**
	 * 获取用户相关信息
	 * @param custCode
	 * @return
	 */
	Map<String,Object> getUserInfo(String custCode) throws CustomException;
}
